export {}
// abstract 只能被继承 不能被new了
abstract class Animal {
  eat(food: string): void {
    console.log(`啃:${food}`)
  }
  // 抽象方法 不能有后面的花括号也就是方法体
  abstract run(distance: number): void
}
// 抽象类不需要super 但是需要实现父类的抽象方法
class Dog extends Animal {
  run(distance: number): void {
    console.log(`爬:${distance}`)
  }
}
const son = new Dog()
son.eat('天下')
son.run(Infinity)
